package com.agileboot.domain.performance.score.dto;

import cn.hutool.core.bean.BeanUtil;
import com.agileboot.common.annotation.ExcelColumn;
import com.agileboot.domain.performance.score.db.UserScoreRecordEntity;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户分数记录数据传输对象
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserScoreRecordDTO {

    public UserScoreRecordDTO(UserScoreRecordEntity entity) {
        if (entity != null) {
            BeanUtil.copyProperties(entity, this);
        }
    }

    @ExcelColumn(name = "用户分数记录ID")
    private Long id;

    @ExcelColumn(name = "用户ID")
    private Long userId;

    @ExcelColumn(name = "用户姓名")
    private String userName;

    @ExcelColumn(name = "所属部门")
    private String deptName;

    @ExcelColumn(name = "科研工作量")
    private BigDecimal researchWorkload;

    @ExcelColumn(name = "教研工作量")
    private BigDecimal teachingWorkload;

    @ExcelColumn(name = "育人工作量")
    private BigDecimal educationWorkload;

    @ExcelColumn(name = "服务工作量")
    private BigDecimal serviceWorkload;

    @ExcelColumn(name = "其他工作量")
    private BigDecimal otherWorkload;

    @ExcelColumn(name = "通用课程分数")
    private BigDecimal generalCourseScore;

    @ExcelColumn(name = "专业课程分数")
    private BigDecimal majorCourseScore;

    @ExcelColumn(name = "实验课程分数")
    private BigDecimal labCourseScore;

    @ExcelColumn(name = "待审核分数")
    private BigDecimal pendingScore;

    @ExcelColumn(name = "已审核总分")
    private BigDecimal approvedTotalScore;

    @ExcelColumn(name = "考核年度")
    private Integer assessmentYear;

    private Date createTime;

}

